#ifndef __GUI_APP_H__
#define __GUI_APP_H__

#ifndef __cplusplus
#  error core.hpp header must be compiled as C++
#endif

#include "comm_thread.hpp"

#include "gui_winman.hpp"

#include "gui_win_cfg.hpp"
#include "gui_win_maintain.hpp"
#include "gui_win_play.hpp"
#include "gui_win_rec.hpp"
#include "gui_win_mosaic.hpp"
#include "gui_win_trim.hpp"
#include "gui_win_dwin.hpp"

using namespace cv;

class GuiApp {
private:
	GuiWinMan gwm;
	Mat *bkImg;
	Mat *iconsImg;

	GuiWin win;
	GuiMenuFrame mf0;
	GuiMenuFrame mf1;
	GuiMenuFrame mf2;
	GuiMenuFrame mf3;

	GuiWinCfg winCfg;
	GuiWinRec winRec;
	GuiWinPlay winPlay;
	GuiWinMaintain winMaintain;
	GuiWinMosaic winMosaic;
	GuiWinTrim winTrim;
	GuiWinDwin winDwin;

public:
	GuiApp();
	~GuiApp();
	int start();

	int mainWin();
};

#endif
